var prefix = "/jzweb/stuSignUpCom";
let typesRace = $('#types').val()
	sessionStorage.setItem('types',typesRace);

$(function() {
	$.ajax({
		cache : true,
		type : "post",
		url : "/jzweb/stuSignUpCom/cbatchList",
		data:{
			types: $('#types').val(),
		},
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			if (data.code == 0) {
				let str = '';
				data.data?.map(function (v,k){
					// if ( k == 0 ) str += `<option value="">请选择</option>`
					str += `<option value="${v.id}">${v.name}</option>`
				})
				$("#cbatchName").html(str);
				load()
			} else {
				parent.layer.alert(data.msg)
			}
		}
	});

});

const data = [
	{
		field : 'comNums',
		title : '竞赛编号'
	},

	{
		field : 'name',
		title : '姓名'
	},
	{
		field : 'idNumber',
		title : '身份证号码'
	},
	{
		field : 'ticketNumber',
		title : '联系电话'
	},
	{
		field : 'recordNumber',
		title : '检录序号'
	},
	{
		title : '操作',
		field : 'id',
		align : 'center',
		formatter : function(value, row, index) {
			var e = '<a class="btn btn-primary btn-sm" title="点击录入" onclick="edit(\''
				+ row.id
				+ '\',\''
				+ row.recordNumber
				+ '\')">点击录入</a>';
			return e;
		}
	} ];


function load() {
	$('#exampleTable')
			.bootstrapTable(
				{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/list", // 服务器数据的加载地址
						showColumns : false,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						pageSize : 10, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParamsType : "",
						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
								current : params.pageNumber,
								number : params.pageSize,
								 types: $('#types').val(),
								 type:$('#searchState').val(),
								 cbatchName:$('#cbatchName').val(),
					             name:$('#name').val(),
								idNumber:$('#idNumber').val(),
								competitionType: sessionStorage.getItem('competitionTypes') == 'null' ||  sessionStorage.getItem('competitionTypes') == "" ? $('#competitionType').val() :sessionStorage.getItem('competitionTypes')
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            return {
                                "total": res.data.total,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns : data,
					});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}

//检录号录入
function edit(id,recordNumber) {
	console.log(recordNumber)
	let formContent = `
    <div style="width: 100%;height: 100%;padding: 15px 35px">
        <input type="text" name="types" id="text" class="form-control" placeholder="请输入检录号" value="${recordNumber === "null" ? '' : recordNumber}">
    </div>`;

	layer.confirm(formContent, {
		title: '录入',
		type: 1,
		area: ['260px', '161px'],
		btn: ['确定', '取消'],
		yes: function(index, layero){
			// 获取表单数据并处理逻辑
			let value = $('#text').val().trim();
			if(value !== '') {
				if(isNaN(value)) {
					layer.msg('请输入数字')
				}else {
					try{
						updateRecord({id:id,recordNumber:value},index)
					}catch (e) {
						layer.msg(e)
					}
				}
				return
			}else {
				layer.msg('请输入检录号');
			}
		},
		btn2: function(index, layero){
			// 取消按钮回调函数
			// 关闭确认框
			layer.close(index);
		}
	});
}

$("#lead").click(function (){
	importComExcelFile($('#fileUrl'),$('#importExcelForm'),$('#certificateList').val(),'/jzweb/stuSignUpCom/import')
})


//报名导出模板
function downExcelModelFile(table) {
	let cbatchName = $("#cbatchName").val().trim();
	layer.confirm('您确定要导出报名信息吗？', {
		btn1:function(index){
			window.location.href = `/jzweb/stuSignUpComRecord/downloadImportRecord?cbatchName=${cbatchName}`
			layer.closeAll()
		}
	});
}


// 保持检录号请求
function updateRecord(data,index) {
	return new Promise(function (resolve,reject) {
		$.ajax({
			url: "/jzweb/stuSignUpComRecord/updateRecord",
			type: "POST",
			data: JSON.stringify(data), // 将JSON对象转换为字符串
			contentType: "application/json", // 设置请求内容类型为JSON
			success: function(response) {
				if(response.code !== '0') {
					layer.msg(response.msg)
					reject(response)
					return
				}
				layer.close(index);
				reLoad()
				layer.msg('录入成功')
				resolve(response)
				// 处理响应数据
			},
			error: function(xhr, status, error) {
				resolve(error)
			}
		});
	})

}
